package ljj.rollcall;

import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 * 本代码用于实现注册功能
 */
public class Register_Activity extends AppCompatActivity {
    private RollCall_OpenHelper dbHelper;
    private SQLiteDatabase db;
    private EditText id;
    private EditText password;
    private EditText name;
    private Button confirm;
    private Button reset;
    @Override
    protected void onCreate(Bundle saveInstanceState){
        super.onCreate(saveInstanceState);
        setContentView(R.layout.activity_register);
        //实例化dbHelper
        dbHelper=new RollCall_OpenHelper(this, RollCall_OpenHelper.ROLLCALL,null,1);
        //获取数据库 对象并读写方式打开数据库
        db=dbHelper.getWritableDatabase();
        //获取 用户名 编辑文本框
        id=(EditText)findViewById(R.id.textView_register_id);
        //获取 密码 编辑文本框
        password = (EditText) findViewById(R.id.textView_register_password);
        //获取 姓名 编辑文本框
        name = (EditText) findViewById(R.id.textView_register_name);
        //获取 确定 按钮
        confirm=(Button)findViewById(R.id.button_confirm);
        //确定 按钮 监听事件
        confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //获取 用户名 编辑文本框的内容
                String textId = id.getText().toString().trim();
                //获取 密码 编辑文本框的内容
                String textPassword = password.getText().toString().trim();
                //获取 姓名 编辑文本框的内容
                String textName = name.getText().toString().trim();
                //如果用户名为空或密码为空或姓名为空
                if (id.toString()==null  || password.toString() == null || name.toString() == null) {
                    //提示用户名，密码和姓名不能为空
                    Toast.makeText(Register_Activity.this, "用户名，密码和姓名不能为空", Toast.LENGTH_SHORT).show();
                }
                //用户名，密码和姓名都不为空
                else {
                    //创建Cursor对象 并作为查询结果的对象
                    Cursor cursor=db.rawQuery("select uid from userinfo where uid = ?",new String[]{textId});
                    //如果cursor指向的第一行记录不为空且记录行数不为0
                    if (cursor.moveToFirst()&&cursor.getCount()!=0){
                        //提示 该用户名已存在
                        Toast.makeText(Register_Activity.this,"该用户名已存在",Toast.LENGTH_SHORT).show();
                    }
                    //如果cursor指向的第一行记录为空，记录行数为0
                    else if(!cursor.moveToFirst()&&cursor.getCount()==0){
                        //向表userinfo插入新纪录
                        db.execSQL("insert into userinfo values( ,?,?,?)",new String[]{textId,textPassword,textName});
                        //关闭游标
                        cursor.close();
                        //提示 注册成功
                        Toast.makeText(Register_Activity.this,"注册成功",Toast.LENGTH_SHORT).show();
                        //创建Intent对象 并实例化
                        Intent intent=new Intent(Register_Activity.this,Login_Activity.class);
                        //启动activity，跳转到activity_login
                        startActivity(intent);
                        //结束当前activity
                        finish();
                    }
                }
            }
        });
        //获取 重填 按钮
        reset = (Button) findViewById(R.id.button_reset);
        //重填 按钮 监听事件
        reset.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //用户名 文本内容 置空
                id.setText("");
                //密码 文本内容 置空
                password.setText("");
                //姓名 文本内容 置空
                name.setText("");
            }
        });

    }
}
